﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SHZY.Common.Const;
using SHZY.Common.Contracts;
using SqlSugar;

namespace SHZY.Business.Entitys.Entity
{
    /// <summary>
    /// 客户投诉主表实体.
    /// </summary>
    [SugarTable("qms_busi_customer_complaint", "客户投诉主表")]
    [Tenant(ClaimConst.TENANTID)]
    public class QmsBusiCustomerComplaintEntity : CLDEntityBase
    {
        /// <summary>
        /// Guid.
        /// </summary>
        //[SugarColumn(ColumnName = "F_Id", ColumnDescription = "Guid", IsPrimaryKey = true)]
        //public string Id { get; set; }

        /// <summary>
        /// 工单编号.
        /// </summary>
        [SugarColumn(ColumnName = "F_No", ColumnDescription = "工单编号")]
        public string No { get; set; }

        /// <summary>
        /// 客户编码.
        /// </summary>
        [SugarColumn(ColumnName = "F_CustomerNo", ColumnDescription = "客户编码")]
        public string CustomerNo { get; set; }

        /// <summary>
        /// 客户名称.
        /// </summary>
        [SugarColumn(ColumnName = "F_CustomerName", ColumnDescription = "客户名称")]
        public string CustomerName { get; set; }

        /// <summary>
        /// 反馈阶段.
        /// </summary>
        [SugarColumn(ColumnName = "F_FeedbackStage", ColumnDescription = "反馈阶段")]
        public string FeedbackStage { get; set; }

        /// <summary>
        /// 反馈人.
        /// </summary>
        [SugarColumn(ColumnName = "F_FeedbackUserName", ColumnDescription = "反馈人")]
        public string FeedbackUserName { get; set; }

        /// <summary>
        /// 反馈日期.
        /// </summary>
        [SugarColumn(ColumnName = "F_FeedbackDate", ColumnDescription = "反馈日期")]
        public DateTime? FeedbackDate { get; set; }

        /// <summary>
        /// 反馈方式.
        /// </summary>
        [SugarColumn(ColumnName = "F_FeedbackWay", ColumnDescription = "反馈方式")]
        public string FeedbackWay { get; set; }

        /// <summary>
        /// 反馈单号.
        /// </summary>
        [SugarColumn(ColumnName = "F_FeedbackNo", ColumnDescription = "反馈单号")]
        public string FeedbackNo { get; set; }

        /// <summary>
        /// 抱怨类型.
        /// </summary>
        [SugarColumn(ColumnName = "F_ComplaintType", ColumnDescription = "抱怨类型")]
        public string ComplaintType { get; set; }

        /// <summary>
        /// 产品名称.
        /// </summary>
        [SugarColumn(ColumnName = "F_ProductName", ColumnDescription = "产品名称")]
        public string ProductName { get; set; }

        /// <summary>
        /// 缺陷类别.
        /// </summary>
        [SugarColumn(ColumnName = "F_DefectCategory", ColumnDescription = "缺陷类别")]
        public string DefectCategory { get; set; }

        /// <summary>
        /// 问题描述.
        /// </summary>
        [SugarColumn(ColumnName = "F_ProblemDescription", ColumnDescription = "问题描述")]
        public string ProblemDescription { get; set; }

        /// <summary>
        /// 调查人.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckUserId", ColumnDescription = "调查人")]
        public string CheckUserId { get; set; }

        /// <summary>
        /// 调查日期.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckDate", ColumnDescription = "调查日期")]
        public DateTime? CheckDate { get; set; }

        /// <summary>
        /// 发生原因.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckCause", ColumnDescription = "发生原因")]
        public string CheckCause { get; set; }

        /// <summary>
        /// 流出原因.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckCauseOut", ColumnDescription = "流出原因")]
        public string CheckCauseOut { get; set; }

        /// <summary>
        /// 根本原因.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckCauseRoot", ColumnDescription = "根本原因")]
        public string CheckCauseRoot { get; set; }

        /// <summary>
        /// 问题类别.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckProblem", ColumnDescription = "问题类别")]
        public string CheckProblem { get; set; }

        /// <summary>
        /// 是否重复.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckDuplicate", ColumnDescription = "是否重复")]
        public string CheckDuplicate { get; set; }

        /// <summary>
        /// 是否重大.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckMajor", ColumnDescription = "是否重大")]
        public string CheckMajor { get; set; }

        /// <summary>
        /// 涉及不良数.
        /// </summary>
        [SugarColumn(ColumnName = "F_CheckBadNum", ColumnDescription = "涉及不良数")]
        public int? CheckBadNum { get; set; }

        /// <summary>
        /// 反馈现场的处理对策.
        /// </summary>
        [SugarColumn(ColumnName = "F_TCProcessing", ColumnDescription = "反馈现场的处理对策")]
        public string TcProcessing { get; set; }

        /// <summary>
        /// 不良发生的拦截对策.
        /// </summary>
        [SugarColumn(ColumnName = "F_TCIntercept", ColumnDescription = "不良发生的拦截对策")]
        public string TcIntercept { get; set; }

        /// <summary>
        /// 计划完成时间.
        /// </summary>
        [SugarColumn(ColumnName = "F_TCPlannedDate", ColumnDescription = "计划完成时间")]
        public DateTime? TcPlannedDate { get; set; }

        /// <summary>
        /// 责任人.
        /// </summary>
        [SugarColumn(ColumnName = "F_TCResponsible", ColumnDescription = "责任人")]
        public string TcResponsible { get; set; }

        /// <summary>
        /// 实际完成时间.
        /// </summary>
        [SugarColumn(ColumnName = "F_TCActualDate", ColumnDescription = "实际完成时间")]
        public DateTime? TcActualDate { get; set; }

        /// <summary>
        /// 执行状态0未关闭 1关闭.
        /// </summary>
        [SugarColumn(ColumnName = "F_TCStatus", ColumnDescription = "执行状态0未关闭 1关闭")]
        public int? TcStatus { get; set; }

        /// <summary>
        /// 防止发生.
        /// </summary>
        [SugarColumn(ColumnName = "F_LCPrevention", ColumnDescription = "防止发生")]
        public string LcPrevention { get; set; }

        /// <summary>
        /// 防止流出.
        /// </summary>
        [SugarColumn(ColumnName = "F_LCLeakage", ColumnDescription = "防止流出")]
        public string LcLeakage { get; set; }

        /// <summary>
        /// 计划完成时间.
        /// </summary>
        [SugarColumn(ColumnName = "F_LCPlannedDate", ColumnDescription = "计划完成时间")]
        public DateTime? LcPlannedDate { get; set; }

        /// <summary>
        /// 责任人.
        /// </summary>
        [SugarColumn(ColumnName = "F_LCResponsible", ColumnDescription = "责任人")]
        public string LcResponsible { get; set; }

        /// <summary>
        /// 实际完成时间.
        /// </summary>
        [SugarColumn(ColumnName = "F_LCActualDate", ColumnDescription = "实际完成时间")]
        public DateTime? LcActualDate { get; set; }

        /// <summary>
        /// 执行状态0未关闭 1关闭.
        /// </summary>
        [SugarColumn(ColumnName = "F_LCStatus", ColumnDescription = "执行状态0未关闭 1关闭")]
        public int? LcStatus { get; set; }

        /// <summary>
        /// 责任部门.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityDept", ColumnDescription = "责任部门")]
        public string QualityDept { get; set; }

        /// <summary>
        /// 责任人.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityResponsible", ColumnDescription = "责任人")]
        public string QualityResponsible { get; set; }

        /// <summary>
        /// 责任主管.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityManager", ColumnDescription = "责任主管")]
        public string QualityManager { get; set; }

        /// <summary>
        /// 材料费.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityMaterial", ColumnDescription = "材料费")]
        public decimal QualityMaterial { get; set; }

        /// <summary>
        /// 返工费.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityRework", ColumnDescription = "返工费")]
        public decimal QualityRework { get; set; }

        /// <summary>
        /// 运输费.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityFreight", ColumnDescription = "运输费")]
        public decimal QualityFreight { get; set; }

        /// <summary>
        /// 差旅费.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityTravel", ColumnDescription = "差旅费")]
        public decimal QualityTravel { get; set; }

        /// <summary>
        /// 客户扣款.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityCDeductions", ColumnDescription = "客户扣款")]
        public decimal QualityCDeductions { get; set; }

        /// <summary>
        /// 预估挽回损失.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityEstimated", ColumnDescription = "预估挽回损失")]
        public decimal QualityEstimated { get; set; }

        /// <summary>
        /// 合计金额.
        /// </summary>
        [SugarColumn(ColumnName = "F_QualityTotalAmount", ColumnDescription = "合计金额")]
        public decimal QualityTotalAmount { get; set; }

        /// <summary>
        /// 备注.
        /// </summary>
        [SugarColumn(ColumnName = "F_Remark", ColumnDescription = "备注")]
        public string Remark { get; set; }

        /// <summary>
        /// 关闭人.
        /// </summary>
        [SugarColumn(ColumnName = "F_CancelUserId", ColumnDescription = "关闭人")]
        public string CancelUserId { get; set; }

        /// <summary>
        /// 关闭日期.
        /// </summary>
        [SugarColumn(ColumnName = "F_CancelDate", ColumnDescription = "关闭日期")]
        public DateTime? CancelDate { get; set; }

        /// <summary>
        /// 状态.
        /// </summary>
        [SugarColumn(ColumnName = "F_Status", ColumnDescription = "状态")]
        public int? Status { get; set; }

        /// <summary>
        /// 问题归属.
        /// </summary>
        [SugarColumn(ColumnName = "F_ProblemAttribution", ColumnDescription = "问题归属")]
        public string ProblemAttribution { get; set; }

        //F_IsInvestigation
        /// <summary>
        /// 调查结果推送结果.
        /// </summary>
        [SugarColumn(ColumnName = "F_IsInvestigation", ColumnDescription = "调查结果推送0未推送1已推送")]
        public int? IsInvestigation { get; set; }

        /// <summary>
        /// 临时对策推送结果.
        /// </summary>
        [SugarColumn(ColumnName = "F_IsTemporary", ColumnDescription = "临时对策推送0未推送1已推送")]
        public int ? IsTemporary{ get; set; }

        /// <summary>
        /// 长期对策推送结果.
        /// </summary>
        [SugarColumn(ColumnName = "F_IsLongtime", ColumnDescription = "长期对策推送0未推送1已推送")]
        public int? IsLongtime { get; set; }

        /// <summary>
        /// 质量损失推送结果.
        /// </summary>
        [SugarColumn(ColumnName = "F_IsQuality", ColumnDescription = "长期对策推送0未推送1已推送")]
        public int? IsQuality { get; set; }


    }
}
